home *** CD-ROM | disk | FTP | other *** search
- 20th October 1992
- -----------------------------------------------------------------------------
- Support Group Application Note
- Number: 058
- Issue: 1
- Author:
- -----------------------------------------------------------------------------
-
- 6502 to ARM Application Note
-
- -----------------------------------------------------------------------------
- Applicable Hardware: All RISC machines
-
- Related Application Notes: 059 - Archimedes 6502 Emulation
- 061 - 6502 Applications using !65Host
-
- -----------------------------------------------------------------------------
- Copyright (C) Acorn Computers Limited 1992
-
- Every effort has been made to ensure that the information in this leaflet is
- true and correct at the time of printing. However, the products described in
- this leaflet are subject to continuous development and improvements and
- Acorn Computers Limited reserves the right to change its specifications at
- any time. Acorn Computers Limited cannot accept liability for any loss or
- damage arising from the use of any information or particulars in this
- leaflet. ACORN, ECONET and ARCHIMEDES are trademarks of Acorn Computers
- Limited.
- -----------------------------------------------------------------------------
- Support Group
- Acorn Computers Limited
- Acorn House
- Vision Park
- Histon
- Cambridge CB4 4AE
- -----------------------------------------------------------------------------
-
-
- CONTENTS
-
- Foreword
- Introduction
- Legal issues
- ARM BASIC
- 6502 Emulation
- Evaluation of portability
- Transfer
- Running Instructions
- Available resources
-
-
- FOREWORD
-
- The term 6502 is used in this document to refer to the following Acorn
- products based on the 6502 microprocessor:
-
- BBC Model B
- BBC Model B+
- Acorn Electron
- BBC Master 128
- BBC Master Compact
-
- ARM is short for Acorn RISC Machine. This is the RISC (Reduced Instruction
- Set Chip) microprocessor at the heart of the Archimedes architecture.
-
- Products of Acorn Computers Ltd are subject to continuous development and
- improvment, and so the information contained in this document is subject to
- change without notice.
-
- Moreover, while every effort has been made for accuracy at the time of
- writing, it s acknowleged that there may be errors or omissions in this
- note.
-
- It is inevitable that much of the content of this document is of a technical
- nature.
-
-
- INTRODUCTION
-
- This document looks at the issues involved in porting software for Acorn's
- 6502-based microcomputers onto the Archimedes range of microcomputers. It
- is written to help you identify which items of software may run on the
- Archimedes microcomputer, and how to transfer them and get them running. It
- also covers resources available to help in porting software. It is
- primarily targetted at the broad base of 6502-based educational software
- used in schools and colleges.
-
- Before you attempt to port existing software on to the Archimedes
- microcomputerm you need to consider the following questions:
-
- Is it legal?
- Is it likely to run?
- How can the software be transferred?
- What running instructions are needed?
-
- IS IT LEGAL?
-
- You can ignore this question if it is a program that you have written
- yourself, but commercial software is sold subject to terms and conditions
- which you must comply with. This is covered in the chapter entitled LEGAL
- ISSUES.
-
-
- IS IT LIKELY TO RUN?
-
- Whether a particular piece of software for a 6502-based machine will run on
- the Archimedes microcomputer will depend on how the program has been
- written.
-
- If you are dealing with a number of programs, then it would be worth
- considering the likelihood of success before spending time transferring and
- attempting to run the software. Further details are given in the chapter
- entitled EVALUATION OF PORTABILITY.
-
-
- WILL IT RUN NATIVE, OR UNDER 6502 EMULATION?
-
- Native: The version of BBC BASIC (BASIC 5) developed for the ARM may be
- referred to in this document and elsewhere as being native to the Archimedes
- microcomputer.
-
- You can attempt to run programs written in BASIC for the 6502-based
- microcomputers, using ARM BASIC on the Archimedes microcomputer, provided
- that the programs are written entirely in BASIC and contain no Assembler.
- Further details are given in the chapter entitled ARM BASIC.
-
- 6502 Emulation: In addition to program written entirely in BASIC, you can
- attempt to run 6502 machine code programs and BASIC programs that assemble
- or call 6502 machine code routines using the 6502 emulator. Further details
- are given in the chapter entitled 6502 EMULATION.
-
-
- HOW CAN THE SOFTWARE BE TRANSFERRED?
-
- Before you can attempt to run 6502-based software on the Archimedes
- microcomputer, you need to find a means of transfer from its current medium
- (eg 5.25 inch disc in DFS format) to a medium accessible to the Archimedes
- computer (eg 3.5 inch disc in ADFS format). This is covered in the chapter
- entitled TRANSFER.
-
-
- WHAT RUNNING INSTRUCTIONS ARE NEEDED?
-
- You may need to use modified running instructions in order to get the
- software started on the Archimedes computer. Guidance and suggestions for
- this are provided in the chapter RUNNING INSTRUCTIONS.
-
-
-
-
-
-
-
-
- LEGAL ISSUES
-
- COPYRIGHT
-
- Unless you are dealing with software already on 3.5 inch ADFS format disc,
- attempting to port software to the Archimedes microcomputer will necessarily
- entail copying the software.
-
- For the purpose of copyright in this country, software is regarded as a work
- of art. Making an unauthorised copy of an item of software for which you do
- not hold the copyright is against the law. It is your responsibility to
- ensure that you comply with the law, and you will need to consider which of
- the following applies with a particular item of software:
-
- Your own programs: If you have written the program, you automatically hold
- the copyright unless you assign the right to another party. You are free to
- copy the program.
-
- Commercial software: It is essential that you consult the terms and
- conditions of sale of a particular item of commercially available software.
- The terms may make provision for making a number of copies (eg under a
- license scheme within an institution), a single back-up copy, or no copies
- at all.
-
- Aside from copying, the conditions of sale may specify hardware or mode of
- use. For example, that you cannot use a disc version on a network.
-
- In general, the conditions will not bar you from running the software on a
- machine other than that for which it was intended (eg running a package for
- the BBC Model B on the Archimedes), but consult the section on Support.
-
- Public Domain: Some software is distributed free of charge, or with a
- nominal charge to cover costs. However, although you will be free to make a
- copy, there may be futher conditions that you will need to comply with
- (registering yourself as a use, for example). Some software is available on
- a similar basis, but within the confines of the LEA where it was developed.
-
-
- SUPPORT
-
- In general, there are conditions specifying the guarantee and support that
- go with the purchase of an item of commercially available software. It is
- very likely that use of the software on a system other than that specified
- will void the guarantee and the vendor's obligation to provide support.
- Thus if you port a title for the BBC Model B onto the Archimedes computer,
- and find that it does not work, you should not expect any help from the
- supplier of the software title.
-
-
- ARM BASIC
-
- Any program written in BASIC for the 6502-based microcomputers will probably
- run without modification on on the Archimedes microcomputer, provided that
- it does not exhibit any of the following:
-
- - 6502 assembler, or accessing 6502 machine code.
- - assuming the value of PAGE or HIMEM
- - using the indirection operators ($, ! and ?) to access locations
- in the OS workspace
- - accessing undocumented OS routines with CALL or USR ( )
- - using * commands that require a particular extension (eg *DISC for
- the DFS).
-
- In addition to these general points, loading or saving screen files to and
- from screen memory and likewise for user-defined graphics characters to and
- from Page C will not work.
-
- The way sound is handled is completely different on the Archimedes, so that
- programs which use sound may produce strange and unexpected effects. The
- SOUND and ENVELOPE statements are ignored by ARM BASIC.
-
- More information can be obtained in the application note entitled Archimedes
- 6502 Emulation. This note considers features of 6502 software which would
- give problems when run native on the Archimedes microcomputer, and indicates
- if 6502 emulation could provide the solution.
-
-
- 6502 EMULATION
-
- There are two 6502 emulators for the Archimedes computer, called 65Arthur
- and BBCrun.
-
- [ updated stuff needed here]
-
-
-
-
- RUNNING AN APPLICATION
-
- In order to run an application under emulation, you need to invoke the
- emulator first and then attempt to run the application package. Often, this
- will amount to running the application;s !BOOT file. Alternatively, you can
- incorporate invoking the emulator in the applications !BOOT file.
-
- Please note that the instructions for running the application will probably
- need modification, and this may involve editing the !BOOT file. More
- information is given in the section entitled RUNNING INSTRUCTIONS.
-
-
- EVALUATION OF PORTABILITY
-
- INTRODUCTION
-
- The Archimedes microcomputer has a high degree of commonality with the
- 6502-based machines, so that there is the comfort of familiarity for
- end-users and programmers alike. However, it is important to remember that
- the hardware is completely different and this must temper your expectations
- as regards portability.
-
- Whether a program written for a 6502-based machine will run on the
- Archimedes depends on how the program has been written and what it is doing
- at the code level. For this reason, all that can be provided here is a
- number of generalised statements; we are dealing with 'may' rather than
- 'can' and for a particular title it is a question of try it and see.
-
-
-
-
- RESOURCES
-
- (see also the section entitled AVAILABLE RESOURCES)
-
- BBCscan: You can use the program BBCscan to help identify potential
- problems in a BASIC program. This has been written to run across the range
- of Acorn machines, so that you can assess portability before attempting
- transfer.
-
- Application Note: The application note Archimedes 6502 Emulation classifies
- features of 6502 programs at the code level that are likely to cause
- problems on the Archimedes microcomputer.
-
- GENERAL POINTS
-
- Software that is 'well behaved' and not tied to a particular filing system
- has a good chance of running on the Archimedes computer. 'Well behaved'
- means not making assumptions about the hardware and firmware environment,
- and using the legal interfaces into the operating system. Thus programs,
- that have been written to run on a range of 6502 microcomputers are more
- likely to port onto the Archimedes microcomputer than generic versions.
-
- As regards filing systems, software developed for the DFS disc filing system
- may not port onto the Archimedes, which uses the ADFS (Advanced Disc Filing
- System). Network versions, on the other hand, are more likely to port.
- Electron Plus 3 or Master Compact software on disc uses the ADFS, and so is
- less likely to run into problems owing to the filing system.
-
- 65Tube: 65Tube is a second processor emulator, and so programs which are
- Tube compatible will probably run with 65Tube invoked.
-
- Arcade style games will not run under emulation since they poke the screen
- for fast animation, but well-written languages will. For example, the
- Compact View series.
-
- Correctly written ROM images will run, providing that they are not protected
- in any way, or assume that they are located in ROM or sideways RAM.
-
-
- TRANSFER
-
- Before you attempt transfer, you must ensure that you are not in breach of
- copyright (consult the chapter entitled LEGAL ISSUES).
-
- A summary of the possible starting points and methods of transfer is given
- at the end of this section, which is designed to help you quickly identify
- the method appropriate to your needs.
-
- How best to transfer your existing 6502 software, so that it can be tried on
- the Archimedes microcomputer, will depend on the following factors:
-
- - the medium the software is on (eg 5.25 inch disc)
- - what 6502 machine(s) you have (eg Master 128)
- - the quantity of software involved
-
-
-
- The following possibilities, classified according to your starting point,
- are considered:
-
- - 3.5 inch disc
- - network
- - 5.25 inch disc
- - cassette
- - ROM
- - other media - eg bar codes
-
- The following hardware routes are considered:
-
- - keyboard
- - network
- - RS423 cable
- - 5.25 inch external drive
-
- The information is summarised at the end of this section in the form of a
- table.
-
- STARTING POINT
-
- 3.5 inch disc: Archimedes ADFS support three formats for floppy discs:
-
- E 800k
- D 800k
- L 640k
-
- The L format is the same as that for the Master Compact and Electron Plus 3
- (or for a Master 128 with a 3.5 inch external drive attachment), and so
- discs in this format can be read by the Archimedes unless they have been
- copy-protected.
-
- In general, no transfer is necessary.
-
- Network: An Archimedes can be stationed on an Econet network, for which you
- need to install an Econet module (the same unit as for the Master 128),
- connect the Archimedes with an Econet lead, and set its station number.
- This gives you access to the software on the network medium (hard or floppy
- disc).
-
- No transfer is necessary.
-
- 5.25 inch disc: You will need to consider one of the possible means of
- transfer in the next section. Do not attempt to transfer software that is
- copy-protected.
-
- Cassette: Since there is no Tape Filing System or cassette port on the
- Archimedes microcomputer, there is no direct means of transferring software
- from cassette.
-
- If you have an Electron Plus 3, use it to copy from cassette to 3.5 inch
- disc, which can be read by the Archimedes ADFS. Otherwise, you will need to
- find another route (eg, load the program from cassette into memory, and then
- transfer via the RS423 ports).
-
- Other media: For software on other media, such as Bar codes, you will need
- to transfer onto another medium first.
-
- MEANS OF TRANSFER
-
- Keyboard: For a few short BASIC programs, typing them in may be the
- quickest method of transfer.
-
- Network: Since you can network a BBC Model B or Master series, by using a
- local disc drive with it you can copy software onto the network medium, and
- from there to the Archimedes. This provides a ready means of transferring
- 5.25 inch DFS based software to the Archimedes, providing that the discs are
- not copy-protected.
-
- RS423 cable:
- BBC B, B+ or Master 128 RS423 >> RS423 Archimedes
-
- 5.25 inch drive 3.5 inch drive
-
- The RS423 port on the Archimedes microcomputer is designed for connecting a
- modem. As such, any device connected to the port must appear to the
- computer as a modem in order that the handshaking runs correctly.
-
- The pinout of the port runs as follows:
-
- Pin 1 DCD Data Carry Detect
- Pin 2 RXD Receive Data
- Pin 3 TXD Transmit Data
- Pin 4 DTR Data Terminal Ready
- Pin 5 GND Zero Volts
- Pin 6 DSR Data Set Ready
- Pin 7 RTS Ready To Send
- Pin 8 CTS Clear To Send
- Pin 9 RI Phone Line Ringing
-
- The pins are laid out as below, when viewed from the back:
-
- 1 2 3 4 5
- 6 7 8 9
-
- If you want to connect a non-modem device, for example connecting an
- Archimedes microcomputer back to back with a BBC Model B, athe normal
- arrangement of connecting RTS on one machine to CTS on the other, and RXD on
- one to TXD on the other, should be used. Further to this however, DCD, DTR
- and DSR need all to be tied together in order to simulate a modem.
-
- At high baud rates, problems will arise if the Archimedes own receive and
- transmit rates are set differently. This is due to the RS423 controller
- chip only having one baud rate generator so when different rates are
- required problems arise. If either transmission or reception at a high rate
- ( > 4,800 baud) is required, it is important to set both transmit and
- receive rates the same even if only one direction is being used.
-
- Further information is available in application notes; consult the section
- entitled AVAILABLE RESOURCES.
-
- At the time of writing, at least one third party had developed a
- commercially available RS423 transfer kit for the Archimedes microcomputer.
-
- External 5.25 inch drive: You are advised not to attempt to attach a 5.25
- inch drive cable to the current drive unit cable in the Archimedes machine.
- This may damage a chip, which introduces an undetectable error.
- Additionally, there can be an excessive load on the Archimedes driver gates
- from some drives.
-
- At the time of writing at least one independent company was completing work
- on an external 5.25 inch drive unit, and you should be able to obtain
- further information from your dealer.
-
- TRANSFER SUMMARY
-
- (Draw file 'Table1')
-
-
-
- RUNNING INSTRUCTIONS
-
- The following section is written with a typical eventuality in mind; namely
- that you have transferred software onto 3.5 inch disc, probably from 5.25
- inch disc.
-
- The software start from an EXEC !BOOT file, and you may need to note the
- contents of this file an edit it as appropriate for starting the application
- on the Archimedes microcomputer.
-
-
- GETTING STARTED
-
- BBC Model B etc: The 6502 based microcomputers boot up into BASIC command
- mode.
-
-
- It is possible to get software on discs to autoboot, ie so that the user can
- place the disc in the drive and press SHIFT + BREAK to start the program.
- Most commercially available disc based software is distrubuted like this.
-
- To do this, the start-up option on the disc needs to be set, and a file name
- !BOOT provided on the disc. then, in response to SHIFT + BREAK, the
- computer looks for a !BOOT file and runs it. The !BOOT file will contain a
- few key instructions needed to get the program running.
-
- If !BOOT is a machine code program, the start up option needs setting to 2.
- However, you are more likely to encounter !BOOT and an EXEC file, for which
- the start-up option needs setting to 3.
-
- If !BOOT is an EXEC file, you can list the instructions it contains by
- typing *TYPE !BOOT, followed by pressing RETURN.
-
- The Archimedes microcomputer: By default the Archimedes microcomputer boots
- up into the desktop program. There are three routes available to you to get
- started. the first circumnavigates the desktop altogether.
-
- To get a disc to auto-boot on Archimedes, you need to set the disc option to
- 2, and you need to provide a !BOOT file which is either ARM machine code or
- BASIC.
-
- For example, consider a BASIC program called FRIDA which you have
- transferred onto a 3.5 inch disc:
-
- - place the disc in the disc drive
- - exit from the desktop
- - set the start-up option on the disc to 2: type *OPT 4,2, then
- press Return
- - provide a BASIC program as the !BOOT file: type 10 CHAIN "FRIDA",
- then press Return
- - type SAVE "!BOOT", then press Return.
-
- Now when you press SHIFT + BREAK, the !BOOT file will be run, which in turn
- runs your program FRIDA.
-
- The other two routes require you to work from the desktop, and the existence
- of a !BOOT file is assumed:
-
- - exit from the desktop
- - run the !BOOT file by typing in the appropriate commands:
- eg, type CH. "!BOOT" followed by Return in the example above.
-
- OR
-
- - select the disc icon on the icon bar
- - select the !BOOT option from the menu of icons available
-
-
- KEYBOARD
-
- Some changes in the running instructions referring to the keyboard may be
- required. In particular, the red functon key f0 on the Model B keyboard is
- replace by the PRINT key on the Archimedes keyboard.
-
-
-
- AVAILABLE RESOURCES
-
- APPLICATION NOTES
-
- Archimedes 6502 Emulation and the RS423 Application Note are available by
- writing to:
-
- Customer Services
- Fulbourn Road
- Cherry Hinton
- Cambridge
- CB1 4JN
-
-
- 65HOST and 65TUBE are provided on the Archimedes Applications Discs.
-
- BBC Model B Emulator Utilities:
-
- Copies of these utilities can be obtained by writing to Acorn Customer
- Services at the above address. The programs are:
-
- BBCscan Searches tokenised BBC BASIC programs and flags lines that may cause
- problems when porting to ARM computers. Runs on the BBC Model B,
- B+, Master series, Acorn Electron and Archimedes computers.
-
- PicConv Converts BBC screen image files and GXR sprites into Archimedes
- sprites. MODE 7 files are converted for display using *PRINT. Runs
- on the Archimedes range only.
-
- UdgConv Converts files of User Defined Graphics characters, for loading into
- Page C, back into BASIC VDU statements.
-
- DFSConv Converts an ADFS image of a DFS disc into the form required by
- 65Host for DFS emulation.
-
-
-
-
-
-
-